package com.dcms.util;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

public class ClassUtil {


    public static <T> Map getFields(T t) {
        Map map = new HashMap();
        try {
            Class cls = t.getClass();
            Field[] fields = cls.getDeclaredFields();
            for(int i = 0; i < fields.length; i++){
                Field f = fields[i];
                f.setAccessible(true);
                if (f.get(t) != null){
                    map.put(f.getName(), StringUtil.appendPerCent(f.get(t).toString()));
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return map;
    }

    public static <T> Map getFields(T t, boolean isRandom) {
        Map map = new HashMap();
        try {
            Class cls = t.getClass();
            Field[] fields = cls.getDeclaredFields();
            for(int i = 0; i < fields.length; i++){
                Field f = fields[i];
                f.setAccessible(true);
                if (f.get(t) != null){
                    String name = f.get(t).toString();
                    if (isRandom) {
                        name = StringUtil.appendPerCent(name);
                    }
                    map.put(f.getName(), name);
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return map;
    }
}